' ****** START INCLUDE PUTSTRING(x%, y%, s$) ******
SUB PUTSTRING(x%, y%, s$)
FOR c = 1 TO LEN(s$)
sc$ = MID$(s$, c, 1)
this$ = _GETCHR$(ASC(sc$))
FOR yi = 0 TO 7
FOR xi = 0 TO 7
x_pset% = x% + xi + (c-1)*8 : y_pset% = y% + yi
IF MID$(this$, (xi + yi*8) + 1, 1) = "X" AND BETWEEN(x_pset%, 0, _WIDTH-1) AND BETWEEN(y_pset%, 0, _HEIGHT-1) THEN PSET (x_pset%, y_pset%)
NEXT xi
NEXT yi
NEXT c
END SUB
' ****** END INCLUDE PUTSTRING(x%, y%, s$) ******
d = 1
again:
_alert("shifting by increments of " + d)
_ALERT("whole screen, horizontal minus")
GOSUB resetimage
for i = 1 to 20
scroll -d,0,TRUE
_delay 1.5
next i
_ALERT("middle screen, horizontal plus")
GOSUB resetimage
for i = 1 to 20
scroll (4,4)-(24,24),+d,0,TRUE
_delay 1.5
next i
_ALERT("whole screen, vertical minus")
GOSUB resetimage
for i = 1 to 20
scroll 0,-d,TRUE
_delay 1.5
next i
_ALERT("middle screen, vertical plus")
GOSUB resetimage
for i = 1 to 20
scroll (4,4)-(24,24),0,+d,TRUE
_delay 1.5
next i
_ALERT("whole screen, diagonal minus")
GOSUB resetimage
for i = 1 to 20
scroll -d,-d,TRUE
_delay 1.5
next i
_ALERT("middle screen, diagonal plus")
GOSUB resetimage
for i = 1 to 20
scroll (4,4)-(24,24),+d,+d,TRUE
_delay 1.5
next i
d = d + 1
goto again:
resetimage:
screen _newimage (31,31,14)
for i = 0 to 31 step 2
line (i+1, 0) - (i+1, 30), int(i/2) + 1
next i
for i = 0 to 31 step 2
line (0, i+1) - (30, i+1), int(i/2) + 1
next i
putstring(7,10, "Hi")
_delay 1
RETURN